#pragma once
#include "SFMLInclude.h"
#include "GeneralHelperFunctions.h"
#include "GlobalGameInstances.h"
#include "Entity.h"


//This class is the back bone of the program

class _OpenGLFramework
{
private:
	sf::RenderWindow *MainWindow;
	std::string CfgFileName;

	bool running;

	Entity *Test;

public:
	_OpenGLFramework();
	_OpenGLFramework(std::string nCfgFileName);
	
	~_OpenGLFramework();

	bool LoadGameEntities( void );

	void SetCfgFileName(std::string nCfgFileName);
	bool ReinitializeWindow( void );
	bool Running( void );
	void SetRunning( bool nRunning );

	virtual void Render( void );
	virtual void Update( float dt );

	sf::RenderWindow* GetRenderWindowPtr( void );
};

extern Globals *GameGlobals;